package com.siwei.apply.mapper;

import com.siwei.apply.domain.Ydbp;
import com.siwei.apply.domain.vo.YdbpUpdateVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

// 用地报批 Mapper 接口
@Mapper
public interface YdbpMapper {
    /**
     * 根据项目id查询是否存在
     */
    Boolean isExit(String projectId);

    /**
     * 添加用地报批信息
     *
     * @param ydbp 用地报批实体
     */
    void add(Ydbp ydbp);

    /**
     * 获取用地报批信息（按项目ID）
     *
     * @param projectId 项目ID
     * @return 用地报批记录
     */
    Ydbp get(String projectId);

    /**
     * 获取用地报批信息（按主键ID）
     *
     * @param id 主键ID
     * @return 用地报批记录
     */
    Ydbp getById(@Param("id") String id);

    /**
     * 更新用地报批信息
     *
     * @param ydbpUpdateVo 更新视图对象
     */
    void update(YdbpUpdateVo ydbpUpdateVo);

    /**
     * 更新用地报批的上链状态
     * @param id 用地报批ID
     * @param hasOnchain 是否已上链
     */
    void updateHasOnchain(@Param("id") String id, @Param("hasOnchain") Boolean hasOnchain);
}
